Formal verification of VHDL using VHDL-like ACL2 models
نویسندگان
چکیده
When a design reaches the register transfer level, essential architectural decisions have been taken; their validation required extensive simulation of the abstract behavioral specifications. The recognized need for formal verification cannot be met by current automatic equivalence and model checking tools, which mainly apply to logic synthesis inputs and outputs, or require manual abstraction. We propose to introduce mechanically supported formal reasoning in the design flow, by producing a model of VHDL behavioral specifications in the logic of the ACL2 theorem prover. Written in Lisp, this model is executable as well as subject to symbolic manipulations. We define the semantics of VHDL data types and behavioral-style statements in the logic. We use macros to generate names, function definitions and theorems automatically, by instantiation of model skeletons, while retaining an algorithmic syntactic flavor. This feature is particularly useful to translate VHDL statements into resembling ACL2 macros, so that the logic formalization remains readable.
منابع مشابه
Verification of Stack Manipulation in the SCIP Processor
This paper presents a case study in the formal verification of the hardware description level specification of a general purpose computer processor. The major contributions of this paper are a framework for modelling VHDL hardware designs in the ACL2 language, a discipline for managing the layering of abstractions when verifying a hierarchical design, and a description of the significant theore...
متن کاملACL2VHDL Translator: A Simple Approach to Fill the Semantic Gap
We wrote an ACL2 to VHDL translator for our verification purpose. One major problem of translation between programming languages and the ACL2 language is the semantic gap caused by the translation; it is not easy to translate one language to another while precisely preserving its semantics. Our approach is to write a translator for a small subset of the ACL2 language for which there is no loss ...
متن کاملVerification of a cryptographic circuit: SHA-1 using ACL2
Our study was motivated by a cooperative project aiming at the design and verification of a circuit for secure communications between a computer and a terminal smart card reader. A SHA-1 component is included in the circuit. SHA-1 is a cryptographic primive that produces for any message, a 160 bits signature, called message digest. We automatically produce the ACL2 model for the VHDL RTL design...
متن کاملFormal Specification in VHDL for Formal Hardware Verification
In this paper, we enrich VHDL with new specification constructs intended for hardware verification. Using our extensions, total correctness properties may now be stated whereas only partial correctness can be expressed using the standard VHDL assert statement. All relevant properties can now be specified in such a way that the designer does not need to use formalisms like temporal logics. As th...
متن کاملAn Automatic Design Flow from Formal Models to FPGA
SMV [McM93] is a language suitable for integrated circuit design and optimized for formal verification. VHDL [IEE93] is a design format suitable for simulation and synthesis, but poorly designed for formal verification purposes. The contribution of this paper is the integration of the two approaches through the definition of systematic rules to translate SMV programs into VHDL descriptions, pro...
متن کامل